/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ReglasNegocio;
import AccesoDatos.*;
/**
 *
 * @author dani
 */
public class Jerarquia extends ObjReglaNegocioBase{
    
    private String descripcion;
    private String id;
    
    public Jerarquia(Dato id) {
        super(id);
        this.id=this.campo.get(0).getValor();
    }
    
    @Override
    public String toString() {
        return this.descripcion;
    }
    
    public Jerarquia() {
        super();
    }
    
    public String getId() {
        return this.id;
    }
    
    public String getDescripcion() {
        return this.descripcion;
    }
    
    public void setId(String id) {
        this.id=id;
    }
    
    public void setDescripcion(String descripcion) {
        this.descripcion=descripcion;
    }
    
    @Override
    protected Boolean asignarCampos() {
        String sql="select * from jerarquia";
        sql+=" where "+this.getDato(0).getNombre()+"='"+this.getDato(0).getValor()+"'";
        
        Vista v=this.conn.crearVista(sql);
        if (v.getNRegistros()>0) {
            this.descripcion=(String) v.getRegistro(0, 1);
            return true;
        }
        else
            return false;
        
    }
    
    @Override
    public void Actualizar() {
        String sql="update "+this.getNombreObjeto();
        sql+=" set ";
        sql+="descripcion='"+this.descripcion+"' ";
        sql+="where nivel='"+this.id+"'";
        
        this.conn.ejecutarActualizacion(sql);
        this.asignarCampos();
        this.asignarCampos();
    }
        
    @Override
    public int Crear() {
        Dato[] campos={new Dato("descripcion",this.descripcion)};        
        return this.conn.Agregar(campos, this.getNombreObjeto());
    }
}
